#include <iostream>
using namespace std;
// class Solution {
// public:
//     bool canPermutePalindrome(string s) {
//         if(s.size() <= 0)
//             return false;
//         else
//         {
//             int ascii[128] = {0};
//             for (int i = 0; i < s.size();++i)
//             {
//                 if(ascii[s[i]] != 0)
//                     --ascii[s[i]];
//                 else
//                     ++ascii[s[i]];
//             }
//             int count = 0;
//             for (int i = 0; i < 128;++i)
//             {
//                 if(ascii[i] == 1)
//                     ++count;
//             }
//             if(count <= 1)
//                 return true;
//             else
//                 return false;
//         }
//     }
// };


class Solution {
public:
    bool canPermutePalindrome(string s) {
        int arr[128] = {0};
        for(char c : s)
        {
            arr[c]++;
        }
        int count = 0;
        for(int a : arr)
        {
            count += (a % 2);
        }
        return count <= 1;
    }
};
int main()
{
    Solution sol;
    cout << sol.canPermutePalindrome("tactcoa") << endl;
    return 0;
}